package WuHanTrainStation;

import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;

//分析类
public class Analysis {
    //分析车次
    public void analysisTrains() throws IOException, ClassNotFoundException {
        ArrayList<Train> list;
        ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("WuHanTrainStationAttribute\\WuHanTrainStation.txt"));
        try {
            list = (ArrayList<Train>) objectInputStream.readObject();
            objectInputStream.close();
            ArrayList<String> arrayList = new ArrayList<>();
            arrayList.add("G520");
            arrayList.add("G588");
            arrayList.add("G534");
            arrayList.add("G84");
            arrayList.add("G1748");
            arrayList.add("G1002");
            arrayList.add("G599");
            arrayList.add("G94");
            arrayList.add("G2056");
            arrayList.add("G1013");
            arrayList.add("G423");
            arrayList.add("G72");
            arrayList.add("G592");
            arrayList.add("G1312");
            arrayList.add("G96");
            arrayList.add("G80");
            arrayList.add("G71");
            arrayList.add("G83");
            arrayList.add("G81");
            arrayList.add("G531");
            arrayList.add("G552");
            arrayList.add("G591");
            arrayList.add("G542");
            arrayList.add("G363");
            arrayList.add("G79");
            arrayList.add("G817");
            arrayList.add("G366");
            arrayList.add("G532");
            arrayList.add("G1110");
            arrayList.add("G511");
            arrayList.add("G600");
            arrayList.add("G1311");
            arrayList.add("G1125");
            arrayList.add("G524");
            arrayList.add("G68");
            arrayList.add("G1725");
            arrayList.add("G65");
            arrayList.add("G831");
            arrayList.add("G545");
            arrayList.add("G402");
            arrayList.add("G1726");
            arrayList.add("G553");
            arrayList.add("G1010");
            arrayList.add("G424");
            arrayList.add("G2055");
            arrayList.add("G506");
            arrayList.add("G1021");
            arrayList.add("G1122");
            arrayList.add("G533");
            arrayList.add("G839");
            arrayList.add("G826");
            arrayList.add("G557");
            arrayList.add("G840");
            arrayList.add("G1135");
            arrayList.add("G558");
            arrayList.add("G547");
            arrayList.add("G1747");
            arrayList.add("G503");
            arrayList.add("G505");
            arrayList.add("G509");
            Iterator<String> iteratorArrayList = arrayList.iterator();
            Iterator<Train> iteratorList = list.iterator();

            while (iteratorList.hasNext()) {
                Train train = iteratorList.next();
                while (iteratorArrayList.hasNext()) {
                    String getTrains = iteratorArrayList.next();
                    if (train.equals(getTrains)) {
                        System.out.println("复兴号车次有" + train.getTrains());
                        break;
                    } else {
                        System.out.println("非复兴号车次有" + train.getTrains());
                        break;
                    }
                }
            }
        } catch (EOFException e) {
            System.out.println("您还没有录入列车，请先录入列车");
        }
    }

    //分析到达时间
    public void analysisArrivingTime() throws IOException, ClassNotFoundException {
        ArrayList<Train> list = new ArrayList<Train>();
        ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("WuHanTrainStationAttribute\\WuHanTrainStation.txt"));
        try {
            list = (ArrayList<Train>) objectInputStream.readObject();
            objectInputStream.close();
            Iterator<Train> iteratorList = list.iterator();
            int a = 0;
            while (iteratorList.hasNext()) {
                Train train = iteratorList.next();
                if (train.getArrivingTime().equals("18:00") || train.getArrivingTime().equals("12;00")) {
                    System.out.println("吃饭时间已到，请各位下车的旅客提前安排好自己的饭菜");
                    a = 1;
                    break;
                } else {
                    a = 0;
                }
            }
            if (a == 0) {
                System.out.println("请各位旅客携带好自己的随身行李，提前做好下车准备");
            }

        } catch (EOFException e) {
            System.out.println("您还没有录入列车，请先录入列车");
        }
    }

    //分析出发时间
    public void analysisDepartureTime() throws IOException, ClassNotFoundException {
        ArrayList<Train> list = new ArrayList<Train>();
        ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("WuHanTrainStationAttribute\\WuHanTrainStation.txt"));
        try {
            list = (ArrayList<Train>) objectInputStream.readObject();
            objectInputStream.close();
            Iterator<Train> iteratorList = list.iterator();
            int a = 0;
            while (iteratorList.hasNext()) {
                Train train = iteratorList.next();
                if (train.getDepartureTime().equals("18:00") || train.getDepartureTime().equals("12;00")) {
                    System.out.println("吃饭时间已到，请各位上车的旅客提前携带好好自己的饭菜");
                    a = 1;
                    break;
                } else {
                    a = 0;
                }
            }
            if (a == 0) {
                System.out.println("请各位旅客携带好自己的随身行李，提前做好上车准备");
            }

        } catch (EOFException e) {
            System.out.println("您还没有录入列车，请先录入列车");
        }
    }

    //分析车辆类型
    public void analysisType() throws IOException, ClassNotFoundException {
        ArrayList<Train> list = new ArrayList<Train>();
        ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("WuHanTrainStationAttribute\\WuHanTrainStation.txt"));
        try {
            list = (ArrayList<Train>) objectInputStream.readObject();
            objectInputStream.close();
            Iterator<Train> iteratorList = list.iterator();
            while (iteratorList.hasNext()) {
                Train train = iteratorList.next();

                if (train.getType().equals("K")) {
                    System.out.println("您查询的车次类型是快速旅客列车，请您携带好自身的行李，准备上车");
                } else if (train.getType().equals("T")) {
                    System.out.println("您查询的车次类型是特快旅客列车，请您携带好自身的行李，准备上车");
                } else if (train.getType().equals("Z")) {
                    System.out.println("您查询的车次类型是直达特快旅客列车，请您携带好自身的行李，准备上车");
                } else if (train.getType().equals("L")) {
                    System.out.println("您查询的车次类型是临时旅客列车，请您携带好自身的行李，准备上车");
                } else if (train.getType().equals("A")) {
                    System.out.println("您查询的车次类型是管内临时旅游列车，请您携带好自身的行李，准备上车");
                } else if (train.getType().equals("Y")) {
                    System.out.println("您查询的车次类型是跨局临时旅游列车，请您携带好自身的行李，准备上车");
                } else if (train.getType().equals("D")) {
                    System.out.println("您查询的车次类型是动车组列车，请您携带好自身的行李，准备上车");
                } else if (train.getType().equals("C")) {
                    System.out.println("您查询的车次类型是动车组列车，请您携带好自身的行李，准备上车");
                } else if (train.getType().equals("G")) {
                    System.out.println("您查询的车次类型是高速铁路动车组，请您携带好自身的行李，准备上车");
                }
            }
        } catch (EOFException e) {
            System.out.println("您还没有录入列车，请先录入列车");
        }
    }

    //分析场
    public void analysisField() throws IOException, ClassNotFoundException {
        ArrayList<Train> list = new ArrayList<Train>();
        ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("WuHanTrainStationAttribute\\WuHanTrainStation.txt"));
        try {
            list = (ArrayList<Train>) objectInputStream.readObject();
            objectInputStream.close();
            Iterator<Train> iteratorList = list.iterator();
            while (iteratorList.hasNext()) {
                Train train = iteratorList.next();
                if (train.getField().equals("京广")) {
                    System.out.println("您乘坐的车次可能来自哈尔滨铁路局，沈阳铁路局，北京铁路局，太原铁路局，郑州铁路局，武汉铁路局，西安铁路局，济南铁路局，广州铁路局，南宁铁路局，兰州铁路局，昆明铁路局，请您携带好自身的行李，准备上车");
                } else if (train.getField().equals("武九")) {
                    System.out.println("您乘坐的车次可能来自南昌铁路局，武汉铁路局，请您携带好自身的行李，准备上车");
                } else if (train.getField().equals("武咸")) {
                    System.out.println("您乘坐的车次可能来自武汉铁路局，请您携带好自身的行李，准备上车");
                } else if (train.getField().equals("京广高速")) {
                    System.out.println("您乘坐的车次可能来自哈尔滨铁路局，沈阳铁路局，北京铁路局，太原铁路局，郑州铁路局，武汉铁路局，西安铁路局，济南铁路局，广州铁路局，南宁铁路局，昆明铁路局，兰州铁路局，请您携带好自身的行李，准备上车");
                } else if (train.getField().equals("武九高速")) {
                    System.out.println("您乘坐的车次可能来自南昌铁路局，武汉铁路局，请您携带好自身的行李，准备上车");
                } else if (train.getField().equals("武石城际")) {
                    System.out.println("您乘坐的车次可能来自武汉铁路局，请您携带好自身的行李，准备上车");
                } else if (train.getField().equals("武冈城际")) {
                    System.out.println("您乘坐的车次可能来自武汉铁路局，请您携带好自身的行李，准备上车");
                } else if (train.getField().equals("沪汉蓉")) {
                    System.out.println("您乘坐的车次可能来自武汉铁路局，上海铁路局，成都铁路局，请您携带好自身的行李，准备上车");
                } else if (train.getField().equals("合武")) {
                    System.out.println("您乘坐的车次可能来自武汉铁路局，上海铁路局，成都铁路局，请您携带好自身的行李，准备上车");
                } else if (train.getField().equals("汉宜")) {
                    System.out.println("您乘坐的车次可能来自武汉铁路局，上海铁路局，成都铁路局，请您携带好自身的行李，准备上车");
                } else if (train.getField().equals("汉丹")) {
                    System.out.println("您乘坐的车次可能来自武汉铁路局，请您携带好自身的行李，准备上车");
                } else if (train.getField().equals("汉孝城际")) {
                    System.out.println("您乘坐的车次可能来自武汉铁路局，请您携带好自身的行李，准备上车");
                }
            }
        } catch (EOFException e) {
            System.out.println("您还没有录入列车，请先录入列车");
        }
    }

    //分析车站
    public void analysisStation() throws IOException, ClassNotFoundException {
        ArrayList<Train> list = new ArrayList<Train>();
        ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("WuHanTrainStationAttribute\\WuHanTrainStation.txt"));
        try {
            list = (ArrayList<Train>) objectInputStream.readObject();
            objectInputStream.close();
            Iterator<Train> iteratorList = list.iterator();
            while (iteratorList.hasNext()) {
                Train train = iteratorList.next();
                if (train.getStation().equals("武昌")) {
                    System.out.println("您将有机会乘坐京广铁路，武九铁路，武咸城际铁路，请您携带好自身的行李，准备上车");
                } else if (train.getStation().equals("武汉")) {
                    System.out.println("您将有机会乘坐京广高速铁路、武九客运专线、武石城际铁路、武冈城际铁路、沪汉蓉客运专线，请您携带好自身的行李，准备上车");
                } else if (train.getStation().equals("汉口")) {
                    System.out.println("您将有机会乘坐京广铁路、合武铁路、汉宜铁路、汉丹铁路、汉孝城际铁路，请您携带好自身的行李，准备上车");
                }
            }
        } catch (EOFException e) {
            System.out.println("您还没有录入列车，请先录入列车");
        }
    }
}